<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE root PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:c="http://java.sun.com/jstl/core">

	<h:outputText rendered="#{grupoBean.saveState}">
		<div class="innerTitle">Cadastro de Grupos</div>
	</h:outputText>

	<h:outputText rendered="#{grupoBean.updateState}">
		<div class="innerTitle">Atualização de Grupo</div>
	</h:outputText>

	<h:inputHidden value="#{grupoBean.entity.id}" rendered="#{grupoBean.updateState}" />

	<rich:tabPanel switchType="client">

		<rich:tab label="Cadastro">

			<h:panelGrid columns="3" styleClass="crud" columnClasses="label">

				<h:outputLabel value="Nome :" />
				<h:inputText id="nomeGrupo" value="#{grupoBean.entity.nome}" required="true" maxlength="30" size="30">
					<f:validateLength maximum="30" />
					<rich:ajaxValidator event="onblur" />
				</h:inputText>
				<rich:message errorClass="error" for="nomeGrupo" />

				<c:if test="#{controlBean.administradorSistema}">
					<h:outputLabel value="Cliente :" />
					<h:selectOneMenu id="clienteGrupo" value="#{grupoBean.entity.cliente.id}">
						<f:selectItems value="#{clienteBean.listaClientes}" />
					</h:selectOneMenu>
					<rich:message for="clienteGrupo" />
				</c:if>
				<c:if test="#{!controlBean.administradorSistema}">
					<h:inputHidden value="#{grupoBean.entity.cliente.id}" rendered="#{grupoBean.updateState}" />
				</c:if>

			</h:panelGrid>

		</rich:tab>

		<rich:tab label="Veículos">

			<h:panelGroup id="veiculosGrupo" styleClass="innerFilter" layout="block">

				<c:if test="#{controlBean.usuarioAdministrador and !controlBean.administradorSistema}">
					<h:selectOneMenu value="#{grupoBean.veiculo.id}" rendered="#{grupoBean.veiculoStatus}">
						<f:selectItems value="#{grupoBean.listaVeiculos}" />
					</h:selectOneMenu>
				</c:if>

				<c:if test="#{controlBean.administradorSistema}">
					<h:selectOneMenu id="listaClientes" value="#{grupoBean.veiculosClienteId}">
			  			<f:selectItems value="#{clienteBean.listaClientes}"/>
			  			<a4j:support event="onchange" action="#{grupoBean.populate}" reRender="veiculosCliente"/>
			  		</h:selectOneMenu>

					<h:selectOneMenu id="veiculosCliente" value="#{grupoBean.veiculo.id}">
			  			<f:selectItems value="#{grupoBean.listaVeiculosByCliente}"/>
					</h:selectOneMenu>
				</c:if>

				<a4j:commandButton value="Adicionar" action="#{grupoBean.addVeiculo}" styleClass="button" reRender="veiculosGrupo" disabled="#{!grupoBean.veiculoStatus}" />
				
				<rich:dataTable rowClasses="even,odd" value="#{grupoBean.entity.veiculos}" var="veiculo" rows="10">

					<h:column>
						<f:facet name="header">
							<h:outputLabel value="Veículos" />
						</f:facet>
						<h:outputText value="#{veiculo.nome}" />
					</h:column>

					<h:column headerClass="link">
						<a4j:commandLink action="#{grupoBean.delVeiculo}" reRender="popup">
							<h:graphicImage styleClass="link" alt="Excluir" url="/images/btn/delete.png" />
							<f:setPropertyActionListener target="#{grupoBean.veiculo}" value="#{veiculo}" />
						</a4j:commandLink>
					</h:column>

					<f:facet name="footer">
						<rich:datascroller renderIfSinglePage="false" reRender="veiculosGrupo" />
					</f:facet>

				</rich:dataTable>

			</h:panelGroup>

		</rich:tab>

		<rich:tab label="Permissões">

			<h:panelGroup id="permissoesGrupo" styleClass="innerFilter" layout="block">

				<h:selectOneMenu value="#{grupoBean.permissao.id}" rendered="#{grupoBean.permissaoStatus}">
					<f:selectItems value="#{grupoBean.listaPermissoes}" />
				</h:selectOneMenu>

				<a4j:commandButton value="Adicionar" action="#{grupoBean.addPermissao}" styleClass="button" reRender="permissoesGrupo"
					disabled="#{!grupoBean.permissaoStatus}" />

				<rich:dataTable rowClasses="even,odd" value="#{grupoBean.entity.permissoes}" var="permissao" rows="10">

					<h:column>
						<f:facet name="header">
							<h:outputLabel value="Permissões" />
						</f:facet>
						<h:outputText value="#{permissao.descricao}" />
					</h:column>

					<h:column headerClass="link">
						<a4j:commandLink action="#{grupoBean.delPermissao}" reRender="popup">
							<h:graphicImage styleClass="link" alt="Excluir" url="/images/btn/delete.png" />
							<f:setPropertyActionListener target="#{grupoBean.permissao}" value="#{permissao}" />
						</a4j:commandLink>
					</h:column>

					<f:facet name="footer">
						<rich:datascroller renderIfSinglePage="false" reRender="permissoesGrupo" />
					</f:facet>

				</rich:dataTable>

			</h:panelGroup>

		</rich:tab>

	</rich:tabPanel>

	<br />

	<a4j:commandButton value="Inserir" type="submit" action="#{grupoBean.save}" styleClass="button" rendered="#{grupoBean.saveState}" reRender="popup" />
	<a4j:commandButton value="Atualizar" type="submit" action="#{grupoBean.update}" styleClass="button" rendered="#{grupoBean.updateState}" reRender="popup" />
	<a4j:commandButton value="Voltar" type="submit" action="#{grupoBean.search}" styleClass="button" immediate="true" reRender="popup" />

</ui:composition>